<?php
class VistaCampaniaModel extends Model
{
	
	private $_tableName = "GW_VistaCampania";
	
	
	public function __construct()
	{
		parent::Model();
	}
	
	public function loadData($start = false, $offset = false, $sortname = false, $sortorder = false, $fechaA = false, $fechaF = false)
	{
		 
		 $this->db->limit($offset, $start);
       
	     if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		
         if ($fechaA != false){
		      $this->db->where('DateSistema >=', $fechaA);      				  	  
		 }
		 
		 if($fechaF != false){
		 	$this->db->where('DateSistema <=', $fechaF);
		 }
		
		 $query = $this->db->get($this->_tableName);
		 return $this->_getQueryFromArray($query);
	}
	
	private function _getQueryFromArray($resultado)
	{
		if($resultado->num_rows() == 0){
			return false;
		}
		
		$registro = array();
		
		foreach($resultado->result() as $record){
			$registro[] = new TableCampaniaIn($record);
		}
		
		return $registro;
	}
	
    function getCount() 
    {
		return count($this->loadData());
	}
	
	
	public function loadRegistroById($id)
	{
		$query = $this->db->get_where($this->_tableName, array('IdTransaccion' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return new TableCampaniaIn($query->row());
		
	}
	
}

class TableCampaniaIn
{
	private $_idTransaccion;
	private $_referencia;
	private $_fecha;
	private $_campania;
	private $_idmotivoSalida;
	
	public function __construct($objeto)
	{
		$this->_idTransaccion = $objeto->IdTransaccion;
		$this->_referencia = $objeto->referencia;
		$this->_fecha = $objeto->DateSistema;
		$this->_campania = $objeto->Campania;
		$this->_idmotivoSalida = $objeto->idMotivoSalida;
	}
	
	public function getIdTransaccion()
	{
		return $this->_idTransaccion;
	}
	
	public function getReferencia()
	{
		return $this->_referencia;
	}
	
	public function getFecha()
	{
		return $this->_fecha;
	}
	
	public function getCampania()
	{
		return $this->_campania;
	}
	
	public function getIdMotivoSalida()
	{
		return $this->_idmotivoSalida;
	}
}
